<?php
session_start();

class LoginHandler
{
	private $loginSession;
	//Funktion för om användaren är inloggad eller inte
	//returnerar true om man är inlaggad annrs false
	public function IsLoggedIn()
	{
		if (isset($_SESSION[$this->loginSession]) == true)
		{
			return true;
		}
		return false; 
	}
	//funktion som loggar in dig
	//returnerar true om du kan logga in.
	public function DoLogin($uName, $pWord)
	{

		if ($uName != null && $pWord != null)
		{
			switch ($uName){
				case "johan";
			  		if ($pWord == "wibjer")
			  		{
			  			$_SESSION[$this->loginSession] = true;
			  			return true;
			  		}
			  	return false;
			  	break;
			  	
			  	case "sten";
			  		if ($pWord == "1234")
			  		{
			  			$_SESSION[$this->loginSession] = true;
			  			return true;
			  		}
			  	return false;
			  	break;
			}
		}
		else 
		{
			return false;
		}
	}
	// funktion för att logga ut dig
	public function DoLogout()
	{
		$_SESSION[$this->loginSession] = false; 
		unset($_SESSION[$this->loginSession]);
		return false;
	}
	// En function som testar ovanstånde funktioner
	// blir just nu fel då den inte loggar efter test tre vilket den måste för att det ska gå.   
	public function Test()
	{
		$this->DoLogout();

		if ($this->IsLoggedIn() == true)
		{
			echo "1.IsLoggedIn tror att du är inloggad när du inte är det";
			return false;
		}
		
		$logInFalse = $this->DoLogin("sadfasd","123434");
		if ($logInFalse == true)
		{
			echo "2.Du kan logga in med felaktiga uppgifter";
			return false;
		}
		if ($this->IsLoggedIn() == true)
		{
			echo "2.2 IsLoggedIn tror att du är inloggad när du inte är det";
			return false;
		}
		
		$logInTrue = $this ->DoLogin("sten","1234");
		if ($logInTrue == false)
		{
			echo "3. Du kan inte logga in med rätt uppgifter";
			return false;
		}
		$this->DoLogout();
		if ($this->IsLoggedIn() == false)
		{
			echo "4 Du är inloggad men IsLoggedIn returnerar false";
			return false;
		}

		
		if ($this->IsLoggedIn() == true)
		{
			echo "4.3 IsLoggedIn tror att du är inloggad när du inte är det";
			return false;
		}
		
		return true;
	}
}